FEXP Solver  1.0.0.0
FEXPSolver.h File Reference
#include "FEXPCommon.h"
#include "FEXPElement.h"
#include "FEXPConcurency.h"
#include "FEXPTopologieKDTree.h"
#include "FEXPModelBuilder.h"
#include "FEXPCalculation.h"
#include "FEXPNetworkInterface.h"
Include dependency graph for FEXPSolver.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ICFEXPSolverBase
 Base interface of a solver. More...
 
class  CFEXPSequentialSolver< TValue, Enable >
 
class  CFEXPSequentialSolver< TExpCalc, typename std::enable_if< std::is_base_of< ICFEXPExplicitCalcBase, TExpCalc >::value >::type >
 It manages sequatial type of computational process only (sigle thread of a multicore CPU). More...
 
class  ICFEXPThreadDataBase
 Base interface of a data provided into each thread. More...
 
class  CFEXPSolverThreadInputData
 Base data provided into each thread. More...
 
class  CFEXPParallelSolver< TExpCalc, TThreadData, TThread, Tbarrier, Enable >
 
class  CFEXPParallelSolver< TExpCalc, TThreadData, TThread, Tbarrier, std::enable_if< std::is_base_of< ICFEXPExplicitCalcBase, TExpCalc >::value &&std::is_base_of< ICFEXPThreadDataBase, TThreadData >::value &&std::is_base_of< ICFEXPThreadBase, TThread >::value &&std::is_base_of< ICFEXPSynchrThreadBarrier, Tbarrier >::value >::type >
 Parallel solver for multicore CPUs (single workstation). More...
 
class  CFEXPHybridParallelSolver< TExpCalc, TThreadData, TThread, Tbarrier >
 Hybrid-parallel solver (Net/CPU/GPU?). More...
 

Macros

#define START_THREAD_ID   1
 
#define PARRALEL_SOLVER_THREAD_TEMPLATE_DEF(cls_thread, cls_data)   cls_thread<void(size_t, Ptr<cls_data>), size_t, Ptr<cls_data>>
 
#define SIMPLE_PARALLEL_SOLVER   CFEXPParallelSolver<CFEXPCalculation, CFEXPSolverThreadInputData, PARRALEL_SOLVER_THREAD_TEMPLATE_DEF(CFEXPCppThread, CFEXPSolverThreadInputData), CFEXPThreadGeneralBarrier>
 
#define PARALLEL_SOLVER_ERROR_THREADS   "Error: Try exclude too much threads \""
 
#define THREAD_COUNT_UPDATER   1
 
#define HYBRID_PARALLEL_SOLVER_EXCLUDE_THREADS   1
 
#define HYBRID_PARALLEL_SOLVER   CFEXPHybridParallelSolver<CFEXPCalculation, CFEXPSolverThreadInputData, PARRALEL_SOLVER_THREAD_TEMPLATE_DEF(CFEXPCppThread, CFEXPSolverThreadInputData), CFEXPThreadGeneralBarrier>
 

Macro Definition Documentation

◆ HYBRID_PARALLEL_SOLVER

◆ HYBRID_PARALLEL_SOLVER_EXCLUDE_THREADS

#define HYBRID_PARALLEL_SOLVER_EXCLUDE_THREADS   1

◆ PARALLEL_SOLVER_ERROR_THREADS

#define PARALLEL_SOLVER_ERROR_THREADS   "Error: Try exclude too much threads \""

◆ PARRALEL_SOLVER_THREAD_TEMPLATE_DEF

#define PARRALEL_SOLVER_THREAD_TEMPLATE_DEF (   cls_thread,
  cls_data 
)    cls_thread<void(size_t, Ptr<cls_data>), size_t, Ptr<cls_data>>

◆ SIMPLE_PARALLEL_SOLVER

◆ START_THREAD_ID

#define START_THREAD_ID   1

◆ THREAD_COUNT_UPDATER

#define THREAD_COUNT_UPDATER   1